Radio device with virtually infinite simultaneous inputs

ABSTRACT

A method, system, media, and apparatus are directed to radio recording. Radio stations are simultaneously recorded based on a radio parameter including a processing parameter, a memory usage or allocation, a recording status, or the like. The radio parameter is adapted for an individual station, some radio stations, or all radio stations. The processing parameter is adapted based on a processor usage. The memory usage is adapted based on a memory requirement of a station being recorded. A station may be suspended from recording based on a loss of a signal and resumed based on a resumption of the signal. An access to a radio content recorded while a signal was available may be provided, if the signal is unavailable. The plurality of stations may be prioritized.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/420,670 filed Apr. 8, 2009, U.S. Pat. No. 8,909,128, which claims thebenefit of U.S. provisional patent application No. 61/043,597 filed Apr.9, 2008. This application is also a continuation of U.S. applicationSer. No. 12/033,616 filed Feb. 19, 2008, which is a continuation of U.S.application Ser. No. 10/869,415, filed Jun. 15, 2004, U.S. Pat. No.7,343,141, which is a continuation-in-part of U.S. application Ser. No.10/645,928, filed Aug. 20, 2003, U.S. Pat. No. 7,171,174, which is acontinuation application of International Application No.PCT/US02/05039, filed Feb. 20, 2002, which claims the benefit of U.S.Provisional Application No. 60/270,463, filed Feb. 20, 2001. The entirecontents of each application are incorporated herein by referencethereto.

FIELD OF INVENTION

This invention relates to radio systems and methods. In particular thisinvention relates to receiving radio signals from a plurality of radioinputs.

BACKGROUND OF THE INVENTION

U.S. Pat. No. 7,171,174, issued Jan. 30, 2007, and U.S. Pat. No.7,343,141, issued Mar. 11, 2008, which are hereby explicitlyincorporated by reference herein in their entirety illustrativelydisclose multi-tuner radio products and features. Multi-tuner radioreceivers such as disclosed in the '141 patent simultaneously andcontinuously monitor and record all of the listener's favorite stations.This allows the listener to easily access content on any of thesestations, even if the content from that station is not currently beingoutput. It also allows the listener to easily replay radio content thatwas previously broadcast, as well as skip over content that is not ofinterest.

BRIEF DESCRIPTION OF THE DRAWINGS

The nature and various advantages of the present invention will becomemore apparent upon consideration of the following detailed description,taken in conjunction with the accompanying drawings, in which likereference characters refer to like parts throughout, and in which:

FIG. 1 shows a block diagram of one implementation of a “virtuallyinfinite radio” (VIR);

FIG. 2 shows a process for processing incoming radio signals;

FIG. 3 shows a process for prioritizing stations in order to adjustprocessing parameters associated with the stations; and

FIG. 4 shows a block diagram of an embodiment of a radio device thatsupports extension modules.

DETAILED DESCRIPTION

Current multi-tuner radio devices that use hardware tuners to receiveeach independent radio station are limited in the number of stationsthat can be monitored simultaneously. By using software-defined radiotuners, adaptive receiving and compressions algorithms, and extendablehardware, the number of radio stations that can be simultaneouslyreceived may be increased significantly. This may even be to the pointwhere the radio device is able to simultaneously monitor and record allavailable radio stations in which the listener may be interested, thusbecoming a “virtually infinite radio” (VIR). In addition, the cost ofsuch a device may be significantly reduced and its flexibility may begreatly increased.

As used herein, the terms “enable a user” or “enabling a user” toperform a function refers to providing a hardware and/or hardwarecomponent or configuration to perform that function.

Generally, the present invention is directed to radio recording. Radiostations are simultaneously recorded based on a radio parameterincluding a processing parameter, a memory usage or allocation, arecording status, or the like. The radio parameter is adapted for anindividual station, some radio stations, or all radio stations. Theprocessing parameter is adapted based on a processor usage. The memoryusage is adapted based on a memory requirement of a station beingrecorded. A station may be suspended from recording based on a loss of asignal and resumed based on a resumption of the signal. An access to aradio content recorded while a signal was available may be provided, ifthe signal is unavailable. The plurality of stations may be prioritized.

FIG. 1 shows a block diagram of one implementation of a VIR. Radiosignal sources 110 may be hardware required to receive radio signalsfrom different sources. This may include, for example, an AM antenna, anFM antenna, a satellite antenna, an Internet receiver, a wirelessInternet receiver, a 700 MHz wireless receiver, a Bluetooth receiver, orany other suitable signal receiving device or circuitry. Additionalcircuits may be included, for example, amplifiers and filters.Analog-to-digital converters 120 may be included for each source toconvert any received analog signal to digital for processing. Ifdesired, direct memory access (DMA) device 130 may be included to storethe digital radio signals into memory device 140. In someimplementations, digital signal processor 150 may receive the converteddigital radio signal and store the data into memory 140. If desired,multiple memory devices 40 may be included, and may be of any suitabletype (for example, dynamic RAM, static RAM, flash memory, disk drive, orany suitable combination).

Digital signal processors 150 may include one or more high-performancedigital signal processors. If multiple processors are included, they maybe configured to allow or otherwise enable easily partitioningprocessing tasks between them. For example, each processor may take on aspecific number of stations (e.g., one quarter of the monitored stationsif there are four processors) or a specific set of tasks (e.g., oneprocessor may handle tuning functions, another may handle compression, athird may handle audio output and user interface). Examples ofprocessors that may be used include the Freescale MSC8144high-performance four-core fixed-point processor operating at 1 GHz; theAnalog Devices ADSP-TS201 TigerSHARC high-performance, floating-pointprocessor operating at 600 MHz; or the Texas Instruments TMS320C6727high-performance, floating-point processor operating at 350 MHz.

In addition to processing of the monitored radio signals, the processors150 may handle the audio output 170 and the user input/output 160. Userinterface 160 may include any suitable circuit or circuits, such asbuttons, voice input, gesture recognition, fingerprint recognition, anddisplay devices. Processors 150 may also control other devices andfunctions, including GPS, CD, mobile phone, removable memory, and anyother suitable functions.

FIG. 2 shows a process for processing incoming radio signals. In oneembodiment, the process of FIG. 2 may be performed by DSP 150 of FIG. 1.The steps shown may be performed in an alternative order, steps may beomitted, and steps may be added as appropriate.

In step 210, processor 150 may scan the stored digitized signal fromradio signal source 110. The purpose of this scanning step may be todetermine the presence or absence (and other characteristics, such assignal strength) of stations at specific frequencies within the incomingsignal. This may be based on prior knowledge of the modulation formatexpected to be used, based on the input source (e.g., the input antenna)and the frequency. For example, the incoming signal from an FM antennamay be scanned at 0.2 MHz intervals between 87.5 MHz and 108.0 MHz usingFM demodulation. The scanning may be performed for each input source 110and associated modulation type at any suitable interval, for exampleonce per minute. An example of a commercial system that performsmulti-channel radio monitoring is the WiNRADIO MS-8108 MultichannelRadio Monitoring System.

If radio content is found at any frequency, processor 150 may check tosee if that frequency is currently being monitored. If it is, monitoringmay continue for that station. If the station has not previously beenfound, the station may be added to those to be monitored. If the stationhad previously been found but is not currently being monitored becauseits signal had temporarily not been found, monitoring may resume forthat station. If a station is not found at a frequency that is currentlybeing monitored, then monitoring and storing on that station may betemporarily suspended.

An advantage of being able to suspend and resume monitoring andrecording of radio stations as their signals come and go is that itallows or otherwise enables a user (particularly in a mobile environmentsuch as a car radio) to listen to content from a radio station evenafter going out of range.

In step 220 the stations that are currently available are tuned.Processor 150 uses a software-defined radio (SDR) algorithm to extractthe radio signal at the specified frequency. An example of a commercialproduct that performs SDR is the WiNRADIO WR-G305i PC-based widebandscanning receiver. This step may also be combined with step 230,demodulation of the radio signal. With at least one source, the audiodata may be transmitted in a digital format, in which cases thedemodulation may include extraction of the encoded audio data from thesignal. The output of these steps may be a digitized stereo audio stream(e.g., data stream). These two steps may be performed in parallel foreach of the monitored stations from each of the input sources, usingparallel software processes that may be performed on a signal processoror spread out across multiple processors. These steps may be performedcontinuously, based on the digital sampling frequency of the input radiosignal. Step 240, compression of the audio data, may optionally beperformed to reduce the volume of data using any suitable compressiontechnique, such as MP3 encoding. In some cases, the data may have beentransmitted digitally already compressed, in which case compression maynot be necessary. After compression, the data may be stored into memory140 in step 250.

In step 260, the performance of processor 150 may be monitored. Forexample, processor 150 may include an idle task or an idle loop, and itmay measure how much time is spent in that task or loop. The additionand removal of stations to be monitored may be controlled, so that theeffect on processor utilization may be measured. In one embodiment, onlyone station may be added or removed at a time. In some embodiments,processor utilization monitoring may include counting the number ofstations being monitored and/or estimating the number of parallelmonitoring streams that can be handled by each processor. In someembodiments step 260 may also include monitoring of memory usage. Step260 may occur at any suitable interval, such as once per minute, as wellas whenever a station is added to or removed from the set of stations tobe monitored.

When a new station is added and processor utilization increases above apredetermined threshold, or when a station is removed and/or processorutilization drops below a second threshold, processing parameters may beadjusted in step 270. When processor 150 is close to full utilization,algorithmic changes may be made to reduce the requirements on theprocessor, so that additional stations may be added. If a station isdropped, changes may be made to take advantage of more processoravailability. Changes may include:

-   -   The sampling frequency of the raw radio signal    -   The sample size (number of bits per sample) of the raw radio        signal    -   The sampling frequency or sample size of the output audio signal    -   The compression algorithm used (or it may be disabled        completely)    -   Level of compression used for a particular algorithm (higher        compression may use more processing power)    -   Amount of memory devoted to the storage of audio data from each        monitored (or suspended) station

Any of these factors may be adjusted on a station-by-station basis. Forexample, stations that the user has designated as favorites may beallocated more processing power and more memory than stations that theuser may not listen to, which may be removed completely from monitoring.

FIG. 3 shows a process for prioritizing stations in order to adjustprocessing parameters associated with the stations. In one embodiment,the process of FIG. 3 may be performed by DSP 150 of FIG. A. The stepsshown may be performed in an alternate order, steps may be omitted, andsteps may be added as appropriate.

In step 310, the listener may be allowed or otherwise enabled to selectfavorite stations. In some embodiments, this may be done by allowing theuser to select up to at least a fixed, pre-determined, selectable, oradaptable number of preset stations that can be selected easily by atleast a single input command. In other embodiments, the user may beallowed or otherwise enabled to rate stations with a level orpreference. Favorite stations may be allocated more memory, and may beused to generate higher quality audio (e.g., with a higher sample rate,larger sample size, or increased bits per second compression algorithm).Conversely, a station rated with a lower preference level may beallocated less memory and may be used to generate lower quality audio.

In step 320, the user may be allowed or otherwise enabled to deletestations. Deleting a station may remove its input from monitoring andstoring. The user may be allowed or otherwise enabled to listen to adeleted station, but may be disabled from performing one, some, or anyfunctions on that station that may require access to stored audio (suchas skipping back in time).

In step 330, processor 150 may monitor the listening habits of the user.In this manner, favorite stations may be determined and stations thatmay not be accessed (e.g., not accessed for year, month, week, etc.) mayalso be determined. Processing parameters associated with these stationsmay be automatically adjusted.

In step 340, the type of content may be determined. For example, astation may be classified as popular music, sports, classical music,talk, or any other suitable category. This determination may be madebased on manual classification or automatically based on analysis of theaudio content. The processing parameters may be adjusted based on thecategory. For example, a station that broadcasts primarily talkprogramming may require lower quality audio than a station thatbroadcasts classical music. A user may also specify preferences forspecific categories, and these preferences may be used to adjust theparameters or remove stations form the monitoring list. Other attributesof the station may also be used to determine appropriate processingparameters. For example, a station that broadcasts in mono or that oftenhas poor reception may be given a lower audio quality, while one thatbroadcasts in HD may be assigned more memory.

In step 350, the listener may be allowed or otherwise enabled to adjustat least one of the processing parameters for individual stations. Forexample, the user may be allowed or otherwise enabled to assign a High,Medium, or Low audio quality to a station, which may impact the settingof sampling rate, sample size, and compression algorithm parameters. Theuser may also be allowed or otherwise enabled to select the number ofminutes or hours of audio data to store for any individual station.Stations for which the user has not made any settings may revert to adefault setting, or a setting based on the type of content on thatstation.

FIG. 4 shows a block diagram of an embodiment of a radio device thatsupports extension modules. Radio 410 may be similar to the radio shownin FIG. 1. If radio 410 becomes limited during its use, it may beextended to provide additional capabilities while maintaining its corefunctionalities. Device 410 may include extension interface 420, whichmay be any suitable interface port, such as a PC Card interface, a USBinterface, or a Bluetooth interface. Interface 420 may allow one or moredevices to be connected to radio 410 and augment its capabilities (orreplace built-in capabilities). In some embodiments, multiple extensiondevices may be connected simultaneously over interface 420.

Device 430 is a processor extension module. This extension may augmentor replace processor internal to base device 410, such as digital signalprocessor 150. Processor extension device 430 may provide additionalprocessing power that is capable of simultaneously processing moreinputs, or of processing the existing number of inputs at a higher audioquality. Module 430 may include multiple processors configured to allowsuitable partitioning of processing functions. If desired, processorextension module 430 may include additional memory and other circuits.

Device 440 is an input source extension. This extension may provide thecapability to monitor and listen to one or more additional types ofsources. Input source extension module 440 may include any suitableantennas, analog-to-digital converters, DMA circuits, cache memory,tuning circuits, decryption circuits, and any other suitable circuits.Device 440 may be configured to provide access to a type of radio signalthat was not well known or for which business agreements were notavailable at the time of manufacture of radio 410. For example, astandard for radio broadcast at 700 MHz may be published after device410 is built and sold, and extension module 440 may provide access toinput signals following that standard.

Device 450 is a memory extension. This extension provides additionalstorage capability to radio 410. It may include any suitable type ofmemory, such as flash memory, dynamic memory, static memory, or diskmemory. This module may provide radio 410 with the capability to storeaudio data for more stations or to store more audio data for eachmonitored station.

Device 460 is a user interface extension. This extension may provide theuser the ability to interact with radio device 410 in different ways,for example adding voice or gesture control to a base radio that mayinclude button inputs.

Any other suitable extension devices not shown here may be supported aswell. Preferably, interface 420 is designed to an open standard suchthat extension devices can be designed and built after radio 410 is inuse by an end consumer. If desired, extension modules may be designedand manufactured by one or more companies that are different from thecompany that designed and manufactured radio 410.

By implementing the virtually infinite radio aspects of this invention,several feature advantages are made available over finite hardware tunerimplementations. For example, because virtually all available stationscan be monitored, the user does not have to set favorite stations inorder to use the enhanced features. The user can select a station thatmay not have previously been selected for output, and may immediatelyskip back in time to hear content that was missed on that station.Selecting such a station may provide a much quicker response time,since, in one embodiment, it involves merely selecting a differentplayback buffer, rather than actually retuning When the YIR is put intoscan mode, stored content may be available for at least one or all ofthe available stations, making each switch quicker, and providing agreater amount of previously stored content for any station if thelistener pauses or stops the scan at any station.

A VIR may be cheaper to manufacture than a multi-tuner radio withhardware tuners. Although the DSP to provide the simultaneous tuning andcompression of virtually all stations may be more expensive than theprocessor needed for a radio with a fixed number of tuners, that costmay be more than made up for by the cost of multiple hardware tuners.

By providing an extension interface, the cost of the VIR may be keptdown, and listeners with more requirements may pay for the features andcapabilities they need. As faster processors and larger memory devicesare made available and affordable, they may be used to extend thecapabilities of the base VIR without having to replace it. New radiobroadcast protocols that were not available at the time of manufacturemay also be supported using this extension interface.

As shown here, by using a powerful digital signal processor andsoftware-defined radio tuning with adaptive access and compressionparameters, a radio has been defined that can simultaneously monitor andrecord a virtually unlimited number of radio stations and allow alistener to access the content of these stations, although it may be ata reduced quality and/or reduced storage capacity for at least one,some, or (virtually) all of the stations. By including an open extensioninterface, any lacking capabilities to monitor specific types of sourcesor limits on the number of stations or amount of data stored for eachcan be rectified after the radio has been sold and put into use orotherwise deployed.

An initially manufactured unit may for example provide adequate audioquality and quantity for the number of stations that are currentlyavailable in a typical metro area (e.g., New York, Washington D.C.,Denver, Baltimore, Hartford, Cleveland, Harrisburg, etc.) today, andthat extensions added over time may adequately support station expectedto be added in the future as new types of sources are conceived and madepopular.

In some embodiments for implementing a VIR, the apparatus may beconfigured to tune or receive and record each and every radio input(e.g., simultaneously) bounded by the hardware and/or softwarecapability (e.g., up to a threshold capability such as 99%, up to asufficient margin for safety or sufficient device operation, or subjectto other demands on the apparatus) of the platform on which the VIR isimplemented. Thus the apparatus may implement a sequential,simultaneous, and/or random process by which it commences tuning andrecording until all currently available inputs are monitored, deviceperformance capacity is reached, or a preset threshold is reached. Ifdesired, configuration options can be implemented such as to limit thenumber of stations (e.g., 100 channels total, 20 FM channels, 5 AMchannels, and/or 30 Satellite channels). If desired, the configurationoptions may represent device capabilities. A user may also have theoption to select one type of input (e.g., FM radio), combinations ofinputs (e.g., FM and satellite), or all inputs. A database or file maybe implemented to track identification information for the many stationsmonitored. After a first set of inputs are being monitored (e.g., tunedbased on having adequate signal strength), the apparatus may continuethe process of identifying additional inputs to add to the monitoredchannels such as by continuously, periodically, randomly, or bycombinations thereof to seek to add additional inputs (e.g., channels)so that for example the apparatus can be current in monitoring allavailable channels (e.g. subject to device capabilities and/or thresholdsettings).

If desired, a VIR can be a plug-in module that can be implemented ondifferent platforms such as a mobile handheld device or a car radio toimplement one or more features illustratively described herein. As such,it can be third party add-on feature.

It is to be understood that other embodiments can be utilized andstructural changes can be made without departing from the scope of thepresent invention.

What is claimed is:
 1. A radio playback device that simultaneously andcontinuously records substantially all available radio stations.
 2. Theradio of claim 1 that uses software tuners.
 3. The radio of claim 1 thatadapts its processing parameters based on processor usage.
 4. The radioof claim 3 in which the processing parameters are selected from samplefrequency, sample size, compression algorithm, and compressionparameters.
 5. The radio of claim 1 configured to use multipleprocessors.
 6. The radio of claim 1 that records stations based on thepresence or quality of their signal.
 7. The radio of claim 6 thatsuspends stations from recording based on loss of signal and resumerecording based on resumption of signal.
 8. The radio of claim 7 thatallows a listener to access radio content recorded while a signal wasavailable at a later time when no signal is available.
 9. The radio ofclaim 1 that adapts its memory usage based on the memory requirements ofstations being recorded.
 10. The radio of claim 1 in which stations areprioritized.
 11. The radio of claim 10 in which the prioritization isbased on a user priority.
 12. The radio of claim 10 in which thepriority is based on a user setting a station as a favorite.
 13. Theradio of claim 10 in which the priority is based on a user deleting astation.
 14. The radio of claim 10 in which the priority is based onlistening habits of a user.
 15. The radio of claim 10 in which thepriority is based on a type of content.
 16. The radio of claim 10 inwhich processing parameters, memory allocation, or recording status ofan individual station is modified based on its priority.
 17. The radioof claim 1 further configured to allow a user to adjust a processingparameter of memory allocation for an individual station.
 18. The radioof claim 1 further configured with an extension interface.
 19. The radioof claim 18 further configured to support a processing module to beconnected using the extension interface, said processing moduleaugmenting the processing capabilities of the radio.
 20. The radio ofclaim 18 further configured to support a memory module to be connectedusing the extension interface, said memory module augmenting the storagecapabilities of the radio.